home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / alignd1a / modspace.bas next >
BASIC Source File  |  1999-09-05  |  2KB  |  70 lines

  1. Attribute VB_Name = "modSpace"
  2. Option Explicit
  3.  
  4.  
  5. Public Function AlignData(iInitialSpace As Integer, sData1 As String, sData2 As String, iNumLines As Integer, CntrlType As Integer) As String
  6.     ' this function will repeatedly take in two strings.
  7.     ' Ex. "Product" and "12-483589-896". This would be an
  8.     ' example of 2 strings that you would want to place side
  9.     ' by side in a list or textbox with space between the two.
  10.     ' But ofcourse you would need the next Product and code, to
  11.     ' appear with same spacing underneath the previous one, but
  12.     ' still stay in line.
  13.     '
  14.     ' Product          12-483589-896
  15.     ' Product          12-483589-897
  16.     
  17.     ' so on and so forth.
  18.     ' By passing the two strings in the function will return
  19.     ' a string formatted to match the previous one.
  20.     Static LastFormatLen As Integer
  21.     Dim LenOfMainFormat As Integer
  22.     Static StrCnt As Integer
  23.     
  24.     Dim FormatStr As String
  25.     Dim ActualSpace As String
  26.     Dim LenBothStrs As Integer
  27.     
  28.     Dim i As Integer
  29.     
  30.     
  31.     StrCnt = StrCnt + 1
  32.     ' get the length of both strings combined
  33.     LenBothStrs = Len(sData1) + Len(sData1)
  34.       
  35.     ' is this the first set of strings?
  36.     If StrCnt = 1 Then
  37.          ActualSpace = CreateSpace(iInitialSpace)
  38.          FormatStr = sData1 & ActualSpace & sData2
  39.          If CntrlType = 1 Then
  40.             LenOfMainFormat = Len(FormatStr) - 5  ' text box
  41.          Else
  42.             LenOfMainFormat = Len(FormatStr)      ' listbox
  43.          End If
  44.          LastFormatLen = LenOfMainFormat
  45.          AlignData = FormatStr
  46.          Exit Function
  47.     End If
  48.     
  49.     ' another string format it to the
  50.     ' first one
  51.     iInitialSpace = LastFormatLen - LenBothStrs
  52.     ActualSpace = CreateSpace(iInitialSpace)
  53.     FormatStr = sData1 & ActualSpace & sData2
  54.     AlignData = FormatStr
  55.     
  56.     If StrCnt = iNumLines Then
  57.        ' reset all statics
  58.        ' for the next use
  59.        LastFormatLen = 0
  60.        StrCnt = 0
  61.     End If
  62.         
  63.     
  64. End Function
  65.  
  66.  
  67. Function CreateSpace(ISpace As Integer) As String
  68.     CreateSpace = Space(ISpace)
  69. End Function
  70.